<?php  

class RSS  

{  

    /**  

     +----------------------------------------------------------  

     * RSS频道名  

     +----------------------------------------------------------  

     */ 

    protected $channel_title = '';  

    /**  

     +----------------------------------------------------------  

     * RSS频道链接  

     +----------------------------------------------------------  

     */ 

    protected $channel_link = '';  

    /**  

     +----------------------------------------------------------  

     * RSS频道描述  

     +----------------------------------------------------------  

     */ 

    protected $channel_description = '';  

    /**  

     +----------------------------------------------------------  

     * RSS频道使用的小图标的URL  

     +----------------------------------------------------------  

     */ 

    protected $channel_imgurl = '';  

    /**  

     +----------------------------------------------------------  

     * RSS频道所使用的语言  

     +----------------------------------------------------------  

     */ 

    protected $language = 'zh_CN';  

    /**  

     +----------------------------------------------------------  

     * RSS文档创建日期，默认为今天  

     +----------------------------------------------------------  

     */ 

    protected $pubDate = '';  

    protected $lastBuildDate = '';  

    

    protected $generator = 'Wadiff RSS Generator';  

    

    /**  

     +----------------------------------------------------------  

     * RSS单条信息的数组  

     +----------------------------------------------------------  

     */ 

    protected $items = array();  

    

    /**  

     +----------------------------------------------------------  

     * 构造函数  

     +----------------------------------------------------------  

     * @access public   

     +----------------------------------------------------------  

     * @param string $title  RSS频道名  

     * @param string $link  RSS频道链接  

     * @param string $description  RSS频道描述  

     * @param string $imgurl  RSS频道图标  

     +----------------------------------------------------------  

     */ 

    public function __construct($title, $link, $description, $imgurl = '')  

    {  

        $this->channel_title = $title;  

        $this->channel_link = $link;  

        $this->channel_description = $description;  

        $this->channel_imgurl = $imgurl;  

        $this->pubDate = Date('Y-m-d H:i:s', time());  

        $this->lastBuildDate = Date('Y-m-d H:i:s', time());  

    }  

    

    /**  

     +----------------------------------------------------------  

     * 设置私有变量  

     +----------------------------------------------------------  

     * @access public   

     +----------------------------------------------------------  

     * @param string $key  变量名  

     * @param string $value  变量的值  

     +----------------------------------------------------------  

     */ 

     public function Config($key,$value)  

     {  

        $this->{$key} = $value;  

     }  

    

    /**  

     +----------------------------------------------------------  

     * 添加RSS项  

     +----------------------------------------------------------  

     * @access public   

     +----------------------------------------------------------  

     * @param string $title  日志的标题  

     * @param string $link  日志的链接  

     * @param string $description  日志的摘要  

     * @param string $pubDate  日志的发布日期  

     +----------------------------------------------------------  

     */ 

     function AddItem($title, $link, $description, $pubDate, $icon)  

     {  

        $this->items[] = array('title' => $title, 'link' => $link, 'description' => $description, 'pubDate' => $pubDate, 'icon' => $icon);  

     }  

     //(Train_Num, Type, S_No, Station, Day, A_Time, D_Time, Distance, P1, P2, P3, P4) 
     function AddItem_Train($Train_Num, $Type, $S_No, $Station, $Day, $A_Time, $D_Time, $Distance, $P1, $P2, $P3, $P4)  
     {  

        $this->items[] = array('Train_Num' => $Train_Num, 'Type' => $Type, 'S_No' => $S_No, 'Station' => $Station, 'Day' => $Day, 
            'A_Time' => $A_Time, 'D_Time' => $D_Time, 'Distance' => $Distance, 'P1' => $P1, 'P2' => $P2, 'P3' => $P3, 'P4' => $P4);  
     }  

     //(tel_name, depart_name, tel_1, tel_2, tel_3, tel_4
     function AddItem_Tel($tel_name,  $depart_id, $depart_name, $tel_1, $tel_2, $tel_3, $user_position, $user_work_position='')  
     {  
        $this->items[] = array('tel_name' => $tel_name, 'depart_id' => $depart_id, 'depart_name' => $depart_name, 'tel_1' => $tel_1, 'tel_2' => $tel_2, 'tel_3' => $tel_3, 
            'user_position' => $user_position,
            'user_work_position' => $user_work_position);  
     }  

     public function FetchUserTel()  
     {  
        $rss = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n";  

        $rss .= "<rss version=\"2.0\">\r\n";  

        $rss .= "<channel>\r\n";  

        $rss .= "<title>{$this->channel_title}></title>\r\n";  

        $rss .= "<description>{$this->channel_description}</description>\r\n";  

        $rss .= "<link>{$this->channel_link}</link>\r\n";  

        $rss .= "<language>{$this->language}</language>\r\n";  

         //(tel_name, depart_name, tel_1, tel_2, tel_3, user_position
        for ($i = 0; $i < count($this->items); $i++) {  

            $rss .= "<item>\r\n";  

            $rss .= "<tel_name>{$this->items[$i]['tel_name']}</tel_name>\r\n";  

            $rss .= "<depart_id>{$this->items[$i]['depart_id']}</depart_id>\r\n";  
            $rss .= "<depart_name>{$this->items[$i]['depart_name']}</depart_name>\r\n";  

            $rss .= "<tel_1>{$this->items[$i]['tel_1']}</tel_1>\r\n";  
            $rss .= "<tel_2>{$this->items[$i]['tel_2']}</tel_2>\r\n";  
            $rss .= "<tel_3>{$this->items[$i]['tel_3']}</tel_3>\r\n";  
            $rss .= "<user_position>{$this->items[$i]['user_position']}</user_position>\r\n";  
            $rss .= "<user_work_position>{$this->items[$i]['user_work_position']}</user_work_position>\r\n";
            $rss .= "</item>\r\n";
        }

        $rss .= "</channel>\r\n</rss>";  

        return $rss;  

    }  


     /**  
     +----------------------------------------------------------  

     * 输出RSS的XML为字符串  

     +----------------------------------------------------------  

     * @access public   

     +----------------------------------------------------------  

     * @return string  

     +----------------------------------------------------------  

     */ 

    public function Fetch()  

    {  
        $rss = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n";  

        $rss .= "<rss version=\"2.0\">\r\n";  

        $rss .= "<channel>\r\n";  

        $rss .= "<title>{$this->channel_title}</title>\r\n";  

        $rss .= "<description>{$this->channel_description}</description>\r\n";  

        $rss .= "<link>{$this->channel_link}</link>\r\n";  

        $rss .= "<language>{$this->language}</language>\r\n";  

        if (!empty($this->pubDate))  

            $rss .= "<pubDate>{$this->pubDate}</pubDate>\r\n";  

        if (!empty($this->lastBuildDate))  

            $rss .= "<lastBuildDate>{$this->lastBuildDate}</lastBuildDate>\r\n";  

        if (!empty($this->generator))  

            $rss .= "<generator>{$this->generator}</generator>\r\n";  

    

        $rss .= "<ttl>5</ttl>\r\n";  

    

        if (!empty($this->channel_imgurl)) {  

            $rss .= "<image>\r\n";  

            $rss .= "<title>{$this->channel_title}</title>\r\n";  

            $rss .= "<link>{$this->channel_link}</link>\r\n";  

            $rss .= "<url>{$this->channel_imgurl}</url>\r\n";  

            $rss .= "</image>\r\n";  

        }  

        for ($i = 0; $i < count($this->items); $i++) {  

            $rss .= "<item>\r\n";  

            $rss .= "<title>{$this->items[$i]['title']}</title>\r\n";  

            $rss .= "<link>{$this->items[$i]['link']}</link>\r\n";  

            $rss .= "<description>{$this->items[$i]['description']}</description>\r\n";  

            $rss .= "<pubDate>{$this->items[$i]['pubDate']}</pubDate>\r\n";  
            $rss .= "<icon>{$this->items[$i]['icon']}</icon>\r\n";  
            $rss .= "</item>\r\n";
        }

        $rss .= "</channel>\r\n</rss>";  

        return $rss;  

    }  

    

    /**  

     +----------------------------------------------------------  

     * 输出RSS的XML到浏览器  

     +----------------------------------------------------------  

     * @access public   

     +----------------------------------------------------------  

     * @return void  

     +----------------------------------------------------------  

     */ 

    public function DisplayTrain()  
    {  
        $rss = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n";  

        $rss .= "<rss version=\"2.0\">\r\n";  

        $rss .= "<channel>\r\n";  

        $rss .= "<title>{$this->channel_title}></title>\r\n";  

        $rss .= "<description>{$this->channel_description}</description>\r\n";  

        $rss .= "<link>{$this->channel_link}</link>\r\n";  

        $rss .= "<language>{$this->language}</language>\r\n";  

        for ($i = 0; $i < count($this->items); $i++) {  

            $rss .= "<item>\r\n";  

            $rss .= "<Train_Num>{$this->items[$i]['Train_Num']}</Train_Num>\r\n";  

            $rss .= "<Type>{$this->items[$i]['Type']}</Type>\r\n";  
            $rss .= "<S_No>{$this->items[$i]['S_No']}</S_No>\r\n";  

            $rss .= "<Station>{$this->items[$i]['Station']}</Station>\r\n";  

            $rss .= "<Day>{$this->items[$i]['Day']}</Day>\r\n";  
            $rss .= "<A_Time>{$this->items[$i]['A_Time']}</A_Time>\r\n";  
            $rss .= "<D_Time>{$this->items[$i]['D_Time']}</D_Time>\r\n";  
            $rss .= "<Distance>{$this->items[$i]['Distance']}</Distance>\r\n";  
            $rss .= "<P1>{$this->items[$i]['P1']}</P1>\r\n";  
            $rss .= "<P2>{$this->items[$i]['P2']}</P2>\r\n";  
            $rss .= "<P3>{$this->items[$i]['P3']}</P3>\r\n";  
            $rss .= "<P4>{$this->items[$i]['P4']}</P4>\r\n";  
            $rss .= "</item>\r\n";

        }  

        $rss .= "</channel>\r\n</rss>";  

        return $rss;  

    }  

    public function Display()  

    {  
        echo $this->Fetch();  

        exit;  

    }  

}  

?>
